/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package SPARQL;


/**
 *
 * @author riccardo
 */
public abstract class URI extends PropertyPath implements Subj,Obje,Constant{
    public static final URI TYPE= new SimpleURI("http://www.w3.org/1999/02/22-rdf-syntax-ns#type");
    public static final URI INVTYPE= new InverseURI();
    @Override
    public abstract Object clone();
    public abstract String getUri();
}

class InverseURI extends URI{
    private final String uri="<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>";

    public InverseURI() {
    }

    @Override
    public int hashCode() {
        int hash = 7;
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final InverseURI other = (InverseURI) obj;
        return true;
    }

    @Override
    public Object clone() {
        return this;
    }

    @Override
    public String getUri() {
        return uri;
    }
    
    public String toString(){
        return "^"+uri;
    }
    
}